package com.crm.service.crm.clue.service;

import com.crm.model.common.dtos.ResponseResult;
import com.crm.model.crm.clue.dtos.ClueDto;
import com.crm.model.crm.clue.dtos.ClueSearchDto;
import com.crm.model.crm.clue.vos.CueingResultVO;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

public interface ClueSService {
    /**
     * 导出模板
     * @param response
     * @return
     */
    ResponseResult template(HttpServletResponse response);

    /**
     * 默认查询线索页面所有以及高级条件查询部分
     * @param dto
     * @return
     */
    ResponseResult search(ClueSearchDto dto);

    /**
     * 线索表上传：批量添加
     * @param clueTable
     * @return
     */
    ResponseResult importClueTabel(MultipartFile clueTable);

    /**
     * 删除上传线索
     * @return
     */
    ResponseResult uploadClueDelete();

    /**
     * 效验批量上传线索结果
     * @return
     */
    ResponseResult verificationClueResult();

    /**
     * 保存批量上传的线索
     * @return
     */
    ResponseResult clueBatchSave();

    /**
     * 下载表
     * @param dto
     * @param response
     * @return
     */
    ResponseResult checkResultDownload(CueingResultVO dto, HttpServletResponse response);

    /**
     * 新建线索
     * @param dto
     * @return
     */
    ResponseResult saveNewClue(ClueDto dto);

    /**
     * 回显部门
     * @return
     */
    ResponseResult findAllDepartment();

}
